package com.shujia

object Demo23Implicit2 {
  def main(args: Array[String]): Unit = {
    // 2、隐式转换变量

    def addSuffix(str1:String)(implicit str2:String):String ={
      str1 + "," + str2
    }

    println(addSuffix("Spark")("火花"))
    println(addSuffix("Hive")("蜂巢"))

    // 定义一个隐式转换变量
    implicit val str:String = "默认后缀"

    /**
      * addSuffix本来是需要调用两次的
      * 在这里只手动调用了一次
      * 因为在定义的时候str2参数加上了implicit修饰
      * 那么就会自动的去寻找当前作用域范围内是否有一个隐式转换的变量跟str2的类型一样
      * 如果有就会自动进行第二次调用
      */
    println(addSuffix("Hadoop"))
  }
}
